package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 金蝶-财务-其他应付单明细/其他应收单明细对象 erp_king_invoice_payable_receivable_other_detail_info
 * @author wutao
 * @date 2024-07-19
 */
@TableName ("erp_king_invoice_payable_receivable_other_detail_info")
@ApiModel (value = "erp_king_invoice_payable_receivable_other_detail_info对象", description = "金蝶-财务-其他应付单明细/其他应收单明细")
@Data
public class KingInvoicePayableReceivableOtherDetailEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 其他应付单Id/其他应收单Id
     */
    @ApiModelProperty ("其他应付单Id/其他应收单Id")
    @TableField ("relation_other_id")
    @Excel (name = "其他应付单Id/其他应收单Id")
    private String relationOtherId;

    /**
     * 费用项目编码
     */
    @ApiModelProperty ("费用项目编码")
    @TableField ("fee_code")
    @Excel (name = "费用项目编码")
    private String feeCode;

    /**
     * 费用承担部门编码
     */
    @ApiModelProperty ("费用承担部门编码")
    @TableField ("fee_bear_dept_code")
    @Excel (name = "费用承担部门编码")
    private String feeBearDeptCode;

    /**
     * 发票类型；
     * 0：普通发票；
     * 1：增值税发票；
     * P：机票；
     * R：火车票；
     * O：其他运输票；
     * E：其他
     */
    @ApiModelProperty ("发票类型；\n" +
            "0：普通发票；\n" +
            "1：增值税发票；\n" +
            "P：机票；\n" +
            "R：火车票；\n" +
            "O：其他运输票；\n" +
            "E：其他")
    @TableField ("invoice_type")
    private String invoiceType;

    /**
     * 税率，文本
     */
    @ApiModelProperty ("税率，文本")
    @TableField ("tax_rate")
    @Excel (name = "税率，文本")
    private String taxRate;

    /**
     * 不含税金额
     */
    @ApiModelProperty ("不含税金额")
    @TableField ("no_tax_amount")
    @Excel (name = "不含税金额")
    private String noTaxAmount;

    /**
     * 税额
     */
    @ApiModelProperty ("税额")
    @TableField ("tax_amount")
    @Excel (name = "税额")
    private String taxAmount;

    /**
     * 总金额
     */
    @ApiModelProperty ("总金额")
    @TableField ("total_amount")
    @Excel (name = "总金额")
    private String totalAmount;

    /**
     * 已借款金额，该记录作为其他应付单可能有值
     */
    @ApiModelProperty ("已借款金额，该记录作为其他应付单可能有值")
    @TableField ("loan_amount")
    @Excel (name = "已借款金额，该记录作为其他应付单可能有值")
    private String loanAmount;

    /**
     * 已借款金额，该记录作为其他应付单可能有值
     */
    @ApiModelProperty ("未借款金额，该记录作为其他应付单可能有值")
    @TableField ("no_loan_amount")
    @Excel (name = "已借款金额，该记录作为其他应付单可能有值")
    private String noLoanAmount;

    /**
     * 付款单号，该记录作为其他应付单时可能有值
     */
    @ApiModelProperty ("付款单号，该记录作为其他应付单时可能有值")
    @TableField ("pay_id")
    @Excel (name = "付款单号，该记录作为其他应付单时可能有值")
    private String payId;

    /**
     * 备注
     */
    @ApiModelProperty ("备注")
    @TableField ("remarks")
    @Excel (name = "备注")
    private String remarks;

    /**
     * 源单类型
     */
    @ApiModelProperty ("源单类型;1:手动新增;2:应付票据退票;3:应收票据背书")
    @TableField ("source_doc_type")
    @Excel (name = "源单类型")
    private Integer sourceDocType;

    /**
     * 源单编号
     */
    @ApiModelProperty ("源单编号;应付票据主表ID")
    @TableField ("source_doc_no")
    @Excel (name = "源单编号")
    private String sourceDocNo;

    /**
     * 类型；1：其他应付单；2：其他应收单
     */
    @ApiModelProperty ("类型；1：其他应付单；2：其他应收单")
    @TableField ("type")
    @Excel (name = "类型；1：其他应付单；2：其他应收单")
    private Integer type;

    @ApiModelProperty ("创建人")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    private Date createTime;

    @ApiModelProperty ("更新人")
    @TableField ("update_by")
    private String updateBy;

    @ApiModelProperty ("更新时间")
    @TableField ("update_time")
    private Date updateTime;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    @Excel (name = "是否可用")
    private Integer isUsed;

    @ApiModelProperty ("费用项目编码名称")
    @TableField (exist = false)
    private String feeName;

    @ApiModelProperty ("费用承担部门名称")
    @TableField (exist = false)
    private String feeBearDeptName;

}
